package com.example.common;

// 返回自定义 json 的异常信息，对应的一个 POJO 对象
public class R {
    private Integer code;
    private String msg;
    private Object data;

    // 无参构造函数
    public R() {
    }

    // 全参构造函数
    public R(Integer code, String msg, Object data) {
        this.code = code;
        this.msg = msg;
        this.data = data;
    }

    // code 的 getter 方法
    public Integer getCode() {
        return code;
    }

    // code 的 setter 方法
    public void setCode(Integer code) {
        this.code = code;
    }

    // msg 的 getter 方法
    public String getMsg() {
        return msg;
    }

    // msg 的 setter 方法
    public void setMsg(String msg) {
        this.msg = msg;
    }

    // data 的 getter 方法
    public Object getData() {
        return data;
    }

    // data 的 setter 方法
    public void setData(Object data) {
        this.data = data;
    }

    // 静态方法，用于创建一个成功的 R 对象，只包含 code 和 msg 两个属性
    public static R success(Integer code, String msg, Object data) {
        R r = new R();
        r.setCode(code);
        r.setMsg(msg);
        r.setData(data);
        return r;
    }
    public static R success(Integer code, String msg) {
        R r = new R();
        r.setCode(code);
        r.setMsg(msg);
        return r;
    }
    public static R success(String msg) {
        R r = new R();
        r.setCode(200);
        r.setMsg(msg);
        return r;
    }
    public static R success(String msg, Object data) {
        R r = new R();
        r.setCode(200);
        r.setMsg(msg);
        r.setData(data);
        return r;
    }
    public static R error(Integer code, String msg) {
        R r = new R();
        r.setCode(code);
        r.setMsg(msg);
        return r;
    }
}
